<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>


        // 利用对象的键名具有唯一性



        var arr = [3,1,5,2,2,1,3,5,21 ,6] ;


        // 把数组中的值当做对象的键名

        var obj = {} ;

        // obj['3'] = 666 ;
        // obj['1'] = 666 ;
        // obj['5'] = 666 ;
        // obj['2'] = 666 ;
        // obj['2'] = 666 ;  覆盖前面的2

        for(var i = 0 ; i < arr.length ; i++) {
            // arr[i]是变量   只能用方括号语法
            obj[arr[i]] = '随便' ;
        }


        // 改变了顺序   -- 排序
        //    对象中如果以数字(字符串)作为键名   会自动排序
        console.log(obj);   // {1:"随便",2:"随便",3:"随便",5:"随便"}


        var newArr = [] ;

        // 遍历对象，把键名存入新的数组
        for(var key in obj) {
            newArr.push(key * 1)
        }

        console.log(newArr);

    </script>
    
</body>
</html>